﻿using System;
using System.Collections.Generic;

namespace SharpSqlAnalyzer.nodes.mdx
{
	// Token: 0x020003DB RID: 987
	public class TMdxDimContentNode : TParseTreeNode
	{
		// Token: 0x06002763 RID: 10083 RVA: 0x0033B69B File Offset: 0x0033989B
		public override void init(object arg1, object arg2, object arg3, object arg4)
		{
			this.levelList = (List<TMdxLevelNode>)arg1;
			this.groupingList = (List<TMdxGroupNode>)arg2;
			this.memberList = (List<TMdxMemberNode>)arg3;
			this.defaultMember = (TMdxExpNode)arg4;
		}

		// Token: 0x170008D4 RID: 2260
		// (get) Token: 0x06002764 RID: 10084 RVA: 0x0033B6CE File Offset: 0x003398CE
		public virtual TMdxExpNode DefaultMember
		{
			get
			{
				return this.defaultMember;
			}
		}

		// Token: 0x170008D5 RID: 2261
		// (get) Token: 0x06002765 RID: 10085 RVA: 0x0033B6D6 File Offset: 0x003398D6
		public virtual List<TMdxGroupNode> GroupingList
		{
			get
			{
				return this.groupingList;
			}
		}

		// Token: 0x170008D6 RID: 2262
		// (get) Token: 0x06002766 RID: 10086 RVA: 0x0033B6DE File Offset: 0x003398DE
		public virtual List<TMdxLevelNode> LevelList
		{
			get
			{
				return this.levelList;
			}
		}

		// Token: 0x170008D7 RID: 2263
		// (get) Token: 0x06002767 RID: 10087 RVA: 0x0033B6E6 File Offset: 0x003398E6
		public virtual List<TMdxMemberNode> MemberList
		{
			get
			{
				return this.memberList;
			}
		}

		// Token: 0x06002768 RID: 10088 RVA: 0x0033B6EE File Offset: 0x003398EE
		public override void accept(TParseTreeVisitor v)
		{
			v.preVisit(this);
			v.postVisit(this);
		}

		// Token: 0x06002769 RID: 10089 RVA: 0x0033B700 File Offset: 0x00339900
		public override void acceptChildren(TParseTreeVisitor v)
		{
			v.preVisit(this);
			foreach (TMdxLevelNode tmdxLevelNode in this.levelList)
			{
				tmdxLevelNode.acceptChildren(v);
			}
			if (this.groupingList != null)
			{
				foreach (TMdxGroupNode tmdxGroupNode in this.groupingList)
				{
					tmdxGroupNode.acceptChildren(v);
				}
			}
			if (this.memberList != null)
			{
				foreach (TMdxMemberNode tmdxMemberNode in this.memberList)
				{
					tmdxMemberNode.acceptChildren(v);
				}
			}
			if (this.defaultMember != null)
			{
				this.defaultMember.accept(v);
			}
			v.postVisit(this);
		}

		// Token: 0x04001DC6 RID: 7622
		private List<TMdxLevelNode> levelList;

		// Token: 0x04001DC7 RID: 7623
		private List<TMdxGroupNode> groupingList;

		// Token: 0x04001DC8 RID: 7624
		private List<TMdxMemberNode> memberList;

		// Token: 0x04001DC9 RID: 7625
		private TMdxExpNode defaultMember;
	}
}
